package com.tanhua.dubbo.api;

import com.tanhua.domain.mogo.Publish;
import com.tanhua.domain.vo.PageResult;

import java.util.List;

public interface PublishApi {
    /**
     * 发布动态
     * @param publish 动态信息
     */
    String  save(Publish publish);

    /**
     * 查询好友的动态-当前用户的时间线
     * @param page 页码
     * @param pagesize 查询几条
     * @param userId 用户id
     * @return 用户userId的好友动态
     */
    PageResult<Publish> findByTimeline(int page, int pagesize,long userId);
    /**
     * 查询推荐的动态-给某用户推荐的好友动态
     * @param page 页码
     * @param pagesize 查询几条
     * @param userId 用户id
     * @return 给userId推荐的动态信息
     */
    PageResult<Publish> findByRecommend(int page,int pagesize,long userId);
    /**
     * 查询相册-查询某一用户的相册（动态）
     * @param page 页码
     * @param pagesize 查询几条
     * @param userId 用户id
     * @return userId的相册
     */
    PageResult<Publish> findAlbumList(int page,int pagesize,long userId);
    /**
     * 查询一条动态
     * @param publishId 动态id
     * @return publishId对应的Publish对象
     */
    Publish findById(String publishId);

    /**
     * 分页查询用户的动态列表
     * @param page 页码
     * @param pagesize 查询几条
     * @param uid 用户id
     * @param state 动态的审核状态
     */
    PageResult<Publish> findPublishList(int page, int pagesize, Long uid, String state);

    /**
     * 更新审核状态
     * @param publish
     */
    void updateState(Publish publish);

    List<Publish> findPublishListByPids(List<Long> pidList);
}
